package com.smartfactory.sail.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.smartfactory.sail.dto.PersonRankingDto;
import com.smartfactory.sail.dto.ShowOrderNumDto;
import com.smartfactory.sail.entity.Order;
import com.smartfactory.sail.vo.PageParam;
import com.smartfactory.sail.vo.order.AddContractOrderReq;
import com.smartfactory.sail.vo.order.ListHTOrderListResp;
import com.smartfactory.sail.vo.order.ListOrderItemInfoResp;
import com.smartfactory.sail.vo.order.ListYPOrderListResp;

import java.util.Map;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author 王巨壁
 * @since 2019-07-24
 */
public interface IOrderService extends IService<Order> {

    Long add(AddContractOrderReq req);

    IPage<ListHTOrderListResp> getHTorderListPage(PageParam pageParam, Map<String,Object> queryParam);

    IPage<ListYPOrderListResp> getYPorderListPage(PageParam pageParam, Map<String,Object> queryParam);

    IPage<ListOrderItemInfoResp> getSendGoodsList(PageParam pageParam, Map<String,Object> queryParam);

    ShowOrderNumDto getOrderNum();

    PersonRankingDto getPersonRanking();

    /**
     * 修改样品订单完成,修改产品状态为在生产
     * @param orderId
     * @return
     */
    Boolean updateSampleOrder(Long orderId);
}
